package com.aasa.siccosap.service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.aasa.siccosap.bean.CuentaCorriente;
import com.aasa.siccosap.bean.NotaCredito;
import com.aasa.siccosap.bean.ObraNotaCredito;
import com.aasa.siccosap.bean.ParametrosConsultaObra;
import com.aasa.siccosap.bean.ParametrosGenerales;
import com.aasa.siccosap.bean.ParametrosConsultaCuentaCorriente;
import com.aasa.siccosap.dao.CuentaCorrienteDAO;
import com.aasa.siccosap.dao.accesoDaoException;

public class CuentaCorrienteService {
	
	CuentaCorrienteDAO cuentaCorrienteDAO; 
	
	public CuentaCorrienteService() {
		try {
			cuentaCorrienteDAO = new CuentaCorrienteDAO();
		} catch (accesoDaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public List<CuentaCorriente> consultarDeudasVencidas(ParametrosGenerales parametros) throws Exception{			
		List<CuentaCorriente> listaCuentaCorriente = cuentaCorrienteDAO.consultarDeudasVencidas(parametros);		
		
		return listaCuentaCorriente;
	}	
	
	public List<CuentaCorriente> consultarDocumentosClientes(ParametrosConsultaCuentaCorriente objA_parametros) throws Exception{
		
		List<CuentaCorriente> aObjL_listaCuentaCorriente = new ArrayList<CuentaCorriente>();
						
		if (!objA_parametros.getStrPb_aplicacion().equals("CA")){ //SIN APLICACION			
			if(objA_parametros.getStrPb_estado().equals("B")){ //CANCELADO
				aObjL_listaCuentaCorriente = cuentaCorrienteDAO.consultarCuentaCorrienteCanceladosAplicacion(objA_parametros);
				
			}else{
			
				aObjL_listaCuentaCorriente = cuentaCorrienteDAO.consultarDocumentosNoCanceladosConAplicacion(objA_parametros);
			
			 System.out.println(aObjL_listaCuentaCorriente.size() +"  se  genero la lista");
			}						
		}
						
		return aObjL_listaCuentaCorriente;
	}

	public List<CuentaCorriente> consultarDocumentosClientesObra(ParametrosConsultaObra objA_parametros) throws Exception{
		// TODO Auto-generated method stub
		return  cuentaCorrienteDAO.consultarCuentaCorrienteObra(objA_parametros);
	}

	public CuentaCorriente solicitarDocumentoObraSelecta(
			CuentaCorriente objA_cuentaCorriente)throws Exception {
		// TODO Auto-generated method stub
		return cuentaCorrienteDAO.solicitarDocumentoObraSelecta(objA_cuentaCorriente);
	}

	public ObraNotaCredito solicitarNotaCredito(ObraNotaCredito objA_notaCredito) throws Exception{
		// TODO Auto-generated method stub
		return cuentaCorrienteDAO.solicitarNotaCreditoObra(objA_notaCredito);
	}



	
}
